﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using HMS_Hospital_Team2._6.DA;
using HMS_Hospital_Team2._6.BL;
using HMS_Hospital_Team2._6.DO;
using System.Windows.Forms;

namespace HMS_Hospital_Team2._6.GUI
{
    public partial class frmChangePassword : Form
    {
        string sTendangnhap = "";
        string sMatkhaumoi = "";
        string sMatkhauht = "";
        string sMatkhaucre = "";
        string sMatkhaucheck = "";
        string sMaNV = "";
        public frmChangePassword(string stendangnhap, string sMatkhau)
        {
            InitializeComponent();
            sTendangnhap = stendangnhap;
            sMatkhauht = sMatkhau;
        }

        private void btnHuyBo_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frmChangePassword_Load(object sender, EventArgs e)
        {

        }

        private void btnDongY_Click(object sender, EventArgs e)
        {
            while (kiemtraloi() == true)
            {
                Encrypt md5 = new Encrypt();
                //Lấy thông tin của tài khoản vừa đăng nhập
                List<phanquyen> thongtintk = BL.NhanVienBL.Loadthongtindangnhap_BL(sTendangnhap, sMatkhauht);
                sMaNV = thongtintk[0].MaNhanVien;//Lấy mã nhân viên của tài khoản.
                sMatkhaucheck = txtOldPasswd.Text;//lấy mật khẩu hiện tại.
                sMatkhaumoi = txtNewPasswd.Text;//Lấy mật khẩu mới.
                sMatkhaucre = txtRePassswd.Text;//lấy mật khẩu lần 2.
                //Kiểm tra mật khẩu hiện tại có trong database k?
                if (md5.congdongcsharp_Encrypt("Encrypt", sMatkhaucheck) != thongtintk[0].MatKhau)
                {//ng dùng nhập sai mật khẩu hiện tại
                    MessageBox.Show("Bạn nhập sai mật khẩu hiện tại, vui lòng nhập lại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    txtOldPasswd.Focus();
                }
                else//ng dùng nhập đúng mật khẩu hiện tại.
                {
                    if (sMatkhaumoi == sMatkhaucre)//kiểm tra mật khẩu do ng dùng nhập vào có giống nhau k?
                    {//mật khẩu mới == mật khẩu mới lần 2.
                        //Thực hiện thay đổi
                        BL.NhanVienBL.Thaydoimatkhau_BL(sMaNV, sMatkhauht, md5.congdongcsharp_Encrypt("Encrypt", sMatkhaumoi));
                        this.Close();
                        MessageBox.Show("Thay đổi Mật khẩu thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                    }
                    else//mật khẩu mới != mật khẩu mới lần 2.
                    {
                        MessageBox.Show("Bạn nhập sai mật khẩu lần 2, vui lòng nhập lại!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        txtRePassswd.Focus();
                    }
                }
                break;
            }
            
        }

         // Hàm kiểm tra khi text box của mật khẩu mới để trống
        public bool kiemtraloi()
        {
            int count = 0;
            if (txtNewPasswd.Text.Trim() == ""||txtRePassswd.Text.Trim()=="")
            {
                count++;
            }
            if (count == 0)
            {
                return true;
            }
            else
            {
                MessageBox.Show("Vui lòng nhập Mật khẩu mới!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtNewPasswd.Focus();
                return false;
            }
        }
    }
}
